Demodulation involves extracting an original information-bearing signal from a signal that is modulated in accordance with a particular symbol constellation and transmitted over a channel. The complexity of the demodulation process increases significantly for very large symbol constellations. Relatively large symbol constellations such as 16-, 32-and 64-QAM (Quadrature Amplitude Modulation) have been adopted in EDGE (Enhanced Data Rates for GSM Evolution), HSPA (High Speed Packet Access), LTE (Long Term Evolution) and WiMax (Worldwide Interoperability for Microwave Access). In HSPA, multi-code transmission creates even larger effective symbol constellations. Also, MIMO (Multiple-Input, Multiple-Output) schemes with two or more streams have been adopted in HSPA, LTE and WiMax. MIMO implementations also yield relatively large effective symbol constellations. Demodulation complexity further increases when any of these techniques occur in combination, e.g. multi-code and MIMO.
Consider a scenario where a MIMO transmitter transmits a communication signal to a MIMO receiver that uses joint detection. Assuming a non-dispersive channel, the received signal is given byr=Hc+n,  (1)where r is the received signal, H is the estimated channel, c is the transmitted symbol vector, and n is white Guassian noise with covariance R. Assuming an N×N MIMO system—N transmit antennas and N receive antennas—then the terms r, c and n are N×1 vectors, and H is a N×N matrix. Working assumptions are that the components of H are independent and Rayleigh faded, all N signals are from the same symbol constellation Q of size q, and all N signals are transmitted with the same power. The effective symbol constellation for c is of size qN.
The joint detector (JD) is the optimal receiver in this scenario. It searches over all qN candidates c=( c1, . . . , cN)T in QN for one that minimizes the metricDN( c)=(r−H c)H R−1(r−H c),  (2)where superscript T indicates the transpose and superscript H indicates the Hermitian, or conjugate transpose. The best candidate is denoted ĉ. While “full” Maximum Likelihood Detection or MLD represents the ideal demodulation scheme, its complexity increases substantially with increasing modulation order because of the size of involved symbol constellations. Other factors affecting the search space of MLD and, therefore, its feasibility, include the exponential effects of MIMO and the use of multi-codes.
Less complex solutions are available, such as sphere decoding (SD), where the demodulator tries to approximate.the performance of MLD, but limits its search for the best solution to a subset of all possible transmitted signals, and where the subset is described by a sphere. A key step in SD is the triangular factorization of the channel matrix. This step simplifies the identification of candidate solutions in the sphere.
Another conventional demodulation technique is ITS (Iterative Tree Search) detection for MIMO QAM. ITS can be viewed as an alternative to SD. Like SD, ITS exploits the triangular factorization of the channel. Unlike SD, ITS uses the M-algorithm for reducing the search for the best candidate. ITS breaks down the search further by dividing the QAM constellation in its four quadrants, and represents each quadrant by its centroid in intermediate computations. The selected quadrant itself is subdivided again into its 4 quadrants, and so on.
This approach results in a quaternary tree search. Other conventional approaches give particular attention to the additional error introduced by the use of the centroids instead of true symbols. The error is modeled as Gaussian noise whose variance is determined and incorporated in likelihood computations. However, a tight connection is typically made between the centroid representation and the bit mapping from bits to symbols. That is, if a so-called multi-level bit mapping is employed, then identifying a quadrant is equivalent to making a decision on a certain pair of bits. Such constraints place a restriction on bit mappings, restricting the design of subsets.
Another detection approach, referred to as “serial localization with indecision,” which is abbreviated as “SLI” or “SLIC.” SLIC-based symbol detection represents a set of transmitted symbols by a series of approximations determined by serial detection stages. There are a number of SLIC-related references containing detailed examples of SLIC-based processing, including the following example references: U.S. 2011/0051795 A1, U.S. 2011/0051796 A1, U.S. 2011/0051851 A1, U.S. 2011/0051852 A1, and U.S. 2011/0051853 A1, all published on Mar. 3, 2011; U.S. 2011/0096873 A1 published on Apr. 28, 2011; U.S. 2011/0103528 A1 published on May 5, 2011; U.S. 2011/0243283 A1 published on Jun. 6, 2011; U.S. 2011/0255638 A1 published on Oct. 10, 2011; and U.S. 2011/0261872 A1 published on Oct. 27, 2011, all of which are incorporated by reference herein in their entirety.
While the above-identified references provide significant processing details and example receiver diagrams, it is useful here to generally review the SLIC-based approach to processing. In an L-stage SLIC, the received symbol vector is effectively represented asc=c[1]+. . . +c[L],  (3)where stage i detects component c[i], using an effective alphabet derived from the true alphabet Q.
In a first SLIC stage, the symbol constellation Q is approximated by a set of centroids Q[1], of size q[1]<q. Each centroid is an effective symbol in the effective symbol constellation Q[1] and represents a subset of Q. Moreover, the subsets have three properties: (1) the subsets overlap; (2) their union is equal to Q; and (3) all the subsets are shifted versions of the same set O[1] with centroid equal to 0. The overlap property is a key ingredient, as it enables the indecision feature of SLIC, which boosts demodulation performance.
If L>2, in the second stage O[1] plays the role of Q. That is, O[1] is approximated by a set of centroids Q[2], of size q[2], with the three properties previously identified, and based on a set O[2] with centroid 0. Processing proceeds similarly for all stages except the last. For the last stage L, there is no more approximation, and Q[L]=O[L−1], and O[L] is empty. The outcome consists of the sets Q[1], . . . , Q[L], which serve as the effective constellations for the L stages of the SLIC receiver.
Consider a two-stage SLIC, where Q is a conventional symbol constellation 10 (also referred to as a conventional modulation constellation 10) having a number of defined constellation symbols or points 12, such as shown in FIG. 1, which depicts a known 16-QAM constellation. Correspondingly, FIG. 2 depicts a centroid representation of the symbol constellation 10, such as is known for use in SLIC-based processing.
Reference numeral 14 indicates the effective symbol constellation Q[1] corresponding to the actual symbol constellation 10 of FIG. 1. Here, “actual” denotes the symbol constellation actually used in transmit signal modulation. In that regard, the effective symbol constellation 14 represents a reduced or simplified version of the actual symbol constellation 10. Specifically, in the example illustration there are nine centroids 16 represented as circles centered within subsets 18 of the constellation points 12 of the actual symbol constellation 10. Each subset 18 of constellation points 12 represents a shifted version of the set O[1] containing the four symbols of Q nearest the origin (i.e., a QPSK constellation). Notably, the subsets 18 overlap, which is key to SLIC operation.
Thus, Q[1] is the effective symbol constellation for the first stage of the example two-stage SLIC receiver, and Q[2]=O[1] is the effective symbol constellation for the second stage. Note that demodulation using the centroids 16 in Q[1] creates a mismatch with the transmitted symbols from Q—i.e., the actual constellation points 12—that results in an error signal, which we refer to as a residual transmitted signal. This is discussed in detail below. See “signal 20” representing the actual received symbol corresponding to one of the defined constellation points 12, versus “signal 22” corresponding to the closest centroid 16. The vector between the actual symbol and the centroid representation is represented by the residual transmitted signal 24.
In general, for each stage i of a multi-stage SLIC receiver the stage input is the modified received signal r[i−1] from the preceding stage, stage (i−1). Stage i assumes that the components c[1], . . . ,c[i−1] have been determined in earlier stages, and focuses on the demodulation of c[i]. The residual transmitted signal d[i]=(c[i+1]+. . . +c[L]) belongs to the set O[i]. The corresponding residual received signal is given by Hd[i], which shows the effect of modulation by the channel on the residual transmitted signal. Stage i models the residual received signal as a colored noise, with covarianceε[i]HHH,  (4)where ε[i] is the average energy of the residual transmitted signal, which can be computed offline by averaging over the elements of the set O[i] . Note that ε[1] decreases as the stage index i grows, because there is less and less transmitted signal unaccounted for in the demodulation process. The total noise has covarianceR[i]=ε[i]HHH+R.  (5)
The demodulation unit in each SLIC stage is a JD over constellation Q[i]. In particular, the JD processing in each stage searches over all (q[i])N candidates c[i] in (Q[i])N for the candidate symbol vector that minimizes the metric DN in (2), using the stage-specific covariance R[i] instead of R. The demodulation unit in each SLIC stage outputs the best candidate symbol vector as the stage decision vector ĉ[i].
The re-modulated signal {circumflex over (r)}′[i]=Hĉ[i] is subtracted from r[i−1] to produce the modified received signal r[i]′, which is fed to the next stage, stage (i+1). Of course, the first and last stages represent partial exceptions to the stage-specific operations outlined above. For example, the input to the first stage is the original received signal r. Nor does the last stage of a SLIC receiver include a re-modulation block.
The overall symbol decision is found by adding all the intermediate decisions. That is, the overall decision for a given received symbol vector is obtained by adding the stage decisions made by all of the SLIC stages, which can be expressed asĉ=ĉ[1]+. . . +ĉ[L].  (6)
Thus, SLIC processing for a received Multiple-Input-Multiple Output (MIMO) signal with N symbols streams performs full searching over all N-tuples of the centroids used in a given stage, where each centroid represents a subset of symbols from the actual transmit symbol constellation. The use of centroids creates a residual received signal, which is accounted in the search metric as a colored noise, whose covariance is derived from the channel coefficients.
Even in view of the various “simplified” approaches to demodulation described above, there remain significant challenges in implementing demodulation processing that achieves near-optimal performance while simultaneously reducing the memory and/or processing requirements of full-complexity, optimal demodulation processing.